///**
// * 1、用HSSFWorkbook打开或者创建“Excel文件对象”
// * 2、用HSSFWorkbook对象返回或者创建Sheet对象
// * 3、用Sheet对象返回行Row对象，用行对象得到Cell对象
// * 4、对Cell对象读写。
// * 
// */
//package myproject.main;
//
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.FileNotFoundException;
//import java.io.FileOutputStream;
//import java.io.IOException;
//import java.io.InputStream;
//import java.io.UnsupportedEncodingException;
//import java.net.URLEncoder;
//import java.text.SimpleDateFormat;
//import java.util.Base64;
//import java.util.Date;
//import java.util.List;
//
//import org.apache.ibatis.session.SqlSession;
//import org.apache.log4j.Logger;
//import org.apache.poi.hssf.usermodel.HSSFCell;
//import org.apache.poi.hssf.usermodel.HSSFFont;
//import org.apache.poi.hssf.usermodel.HSSFRow;
//import org.apache.poi.hssf.usermodel.HSSFSheet;
//import org.apache.poi.hssf.usermodel.HSSFWorkbook;
//import org.apache.poi.ss.usermodel.CellStyle;
//import org.apache.poi.ss.usermodel.HorizontalAlignment;
//import org.apache.poi.ss.usermodel.VerticalAlignment;
//import org.apache.poi.ss.util.CellRangeAddress;
//
//import jxl.Cell;
//import jxl.CellType;
//import jxl.Workbook;
//import jxl.write.Label;
//import jxl.write.WritableCell;
//import jxl.write.WritableSheet;
//import jxl.write.WritableWorkbook;
//import myproject.api.ThreeD;
//import myproject.mapper.ArrayThreeMapper;
//import myproject.mapper.ThreeDataMapper;
//import myproject.utils.SqlSessionFactoryUtils;
//
///**@version:
// * @Description: 
// * @author ：luokai
// * @date: date{2021年1月7日} 
// */
//public class TestPOI {
//	private static final Logger log = Logger.getLogger(TestPOI.class);
//	
//	public static void assortXls(String path,String lotteryType){
//		
//		long startTime=System.currentTimeMillis();
//		Date date = new Date();
//		SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//		System.out.println(dateFormat.format(date));
//		//创建HSSFWorkbook对象  
//	   	HSSFWorkbook wb = new HSSFWorkbook(); 
//	   	 
//	   	CellStyle cellStyle = wb.createCellStyle();
//	   	cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中
//	   	cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中
//         
//		HSSFFont font = wb.createFont();
//		font.setFontName("Arial");
//		font.setFontHeightInPoints((short) 12);
//		cellStyle.setFont(font);
//		
//		 String number="23";
//		 String fileURL="";
//		 SqlSession sqlSession = null;
//		 try {
//				sqlSession = SqlSessionFactoryUtils.openSqlSession();
//				ThreeDataMapper threeDataMapper = sqlSession.getMapper(ThreeDataMapper.class);
//				ArrayThreeMapper arrayThreeMapper = sqlSession.getMapper(ArrayThreeMapper.class);
//				List<ThreeD> threelist;
//				
//			
//				
//				for(int i=0;i<=27;i++) {
//					    number=Integer.toString(i);
//						if(lotteryType.equals("welfare")) {
//							threelist=threeDataMapper.querySum(number);
//							fileURL=path+"ThreeData.xls";
//						}else {
//							threelist=arrayThreeMapper.querySum(number);
//							fileURL=path+"ArrayThree.xls";
//						}
//						
//						//创建HSSFSheet对象  
//						HSSFSheet sheet = wb.createSheet(number); 
//						HSSFRow row2=sheet.createRow(0);      
//						//创建单元格并设置单元格内容  
//						row2.createCell(0).setCellValue("日期");  
//						row2.createCell(1).setCellValue("期号");      
//						row2.createCell(2).setCellValue("开奖号码");  
//						row2.createCell(3).setCellValue("百位");  
//						row2.createCell(4).setCellValue("十位");  
//						row2.createCell(5).setCellValue("个位");      
//						row2.createCell(6).setCellValue("跨度");  
//						row2.createCell(7).setCellValue("和值"); 
//						row2.createCell(8).setCellValue("形态"); 
//						row2.createCell(9).setCellValue("组选");  
//						row2.createCell(10).setCellValue("遗漏期数");   
//						row2.createCell(11).setCellValue("截止"+dateFormat.format(date)+"和值"+number+"数据"); 
//						//表头设置垂直居中、水平居中
//						for(int j=0;j<11;j++) {
//							 row2.getCell(j).setCellStyle(cellStyle);
//					    }
//						 
//					    for(int row=0;row<threelist.size();row++) {
//					    	 HSSFRow row3=sheet.createRow(row+1);      
//					 	    //创建单元格并设置单元格内容  
//					 	    row3.createCell(0).setCellValue(threelist.get(row).getDate());  
//					 	    row3.createCell(1).setCellValue(threelist.get(row).getIssue());      
//					 	    row3.createCell(2).setCellValue(threelist.get(row).getResult());  
//					 	    row3.createCell(3).setCellValue(threelist.get(row).getHundreds());  
//					 	    row3.createCell(4).setCellValue(threelist.get(row).getTens());  
//					 	    row3.createCell(5).setCellValue(threelist.get(row).getOnes());      
//					 	    row3.createCell(6).setCellValue(threelist.get(row).getSpan());
//					 	    row3.createCell(7).setCellValue(threelist.get(row).getSum());
//					 	    row3.createCell(8).setCellValue(threelist.get(row).getForm()); 
//					 	    row3.createCell(9).setCellValue(threelist.get(row).getPacket());  
//					 	    row3.createCell(10).setCellValue(threelist.get(row).getDaysofdifference());  
//					 	    row3.getCell(0).setCellStyle(cellStyle);
//					 	    row3.getCell(1).setCellStyle(cellStyle);
//					 	    row3.getCell(2).setCellStyle(cellStyle);
//					 	    row3.getCell(3).setCellStyle(cellStyle);
//					 	    row3.getCell(4).setCellStyle(cellStyle);
//					 	    row3.getCell(5).setCellStyle(cellStyle);
//					 	    row3.getCell(6).setCellStyle(cellStyle);
//					 	    row3.getCell(7).setCellStyle(cellStyle);
//					 	    row3.getCell(8).setCellStyle(cellStyle);
//					 	    row3.getCell(9).setCellStyle(cellStyle);
//					 	    row3.getCell(10).setCellStyle(cellStyle);
//					    }
//					    // 必须在单元格设值以后进行
//					    // 设置为根据内容自动调整列宽 中文不适用
//				        for (int k = 0; k < 11; k++) {
//				            sheet.autoSizeColumn(k);
//				        }   
//				}
//				
//				//输出Excel文件  
//		        //文件路径（路径+文件名）
//				File file = new File(fileURL);
//			   	//文件不存在则创建文件，先创建目录
//			    if (!file.exists()) {   
//			        File dir = new File(file.getParent());
//			        dir.mkdirs();
//			        file.createNewFile();
//			    }
//			   	FileOutputStream output=new FileOutputStream(fileURL);  
//			   	wb.write(output); 
//			   	wb.close();
//			   	output.flush(); 
//	            log.info("分类完毕！");
//	            long endTime=System.currentTimeMillis();
//		        System.out.println("分类方法执行时间："+(endTime-startTime)+"ms");
//				
//			     
//			 } catch (Exception e) {
//			     e.printStackTrace();
//			     // do something
//			 } finally {
//			       // do something
//				 if (sqlSession != null) {
//							sqlSession.close();
//						}
//			 }
//				  
//				  
//			}
//	
//	
//	public static void creat() {
//		
//	try {
//		Date date = new Date();
//		SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//		System.out.println(dateFormat.format(date));
//		//创建HSSFWorkbook对象  
//		HSSFWorkbook wb = new HSSFWorkbook();  
//		//创建HSSFSheet对象  
//		HSSFSheet sheet = wb.createSheet("和值23");  
//		//创建HSSFRow对象  
//		HSSFRow row = sheet.createRow(0);  
//		//创建HSSFCell对象  
//		HSSFCell cell=row.createCell(0);  
//	     
//	   	HSSFFont f  = wb.createFont();
//	   	// 字号 
//	   	f.setFontHeightInPoints((short) 12); 
//
//	   	
//	   	//设置单元格的值  
//	   	cell.setCellValue(dateFormat.format(date)+"和值23数据");  
//	   	 
//	   	sheet.addMergedRegion(new CellRangeAddress(0,0,0,3)); 
//	   	 
//	   	HSSFRow row2=sheet.createRow(1);      
//	    //创建单元格并设置单元格内容  
//	    row2.createCell(0).setCellValue("日期");  
//	    row2.createCell(1).setCellValue("期号");      
//	    row2.createCell(2).setCellValue("开奖号码");  
//	    row2.createCell(3).setCellValue("百位");  
//	    row2.createCell(4).setCellValue("十位");  
//	    row2.createCell(5).setCellValue("个位");      
//	    row2.createCell(6).setCellValue("跨度");  
//	    row2.createCell(7).setCellValue("和值"); 
//	    row2.createCell(8).setCellValue("形态"); 
//	    row2.createCell(9).setCellValue("组选");  
//	    row2.createCell(10).setCellValue("遗漏期数");   
//	    
//	    HSSFRow row3=sheet.createRow(2);      
//	    //创建单元格并设置单元格内容  
//	    row3.createCell(0).setCellValue("2021-01-06");  
//	    row3.createCell(1).setCellValue("2021006");      
//	    row3.createCell(2).setCellValue("733");  
//	    row3.createCell(3).setCellValue("7");  
//	    row3.createCell(4).setCellValue("3");  
//	    row3.createCell(5).setCellValue("3");      
//	    row3.createCell(6).setCellValue("4");
//	    row3.createCell(7).setCellValue("13");
//	    row3.createCell(8).setCellValue("组三"); 
//	    row3.createCell(9).setCellValue("337");  
//	    row3.createCell(10).setCellValue("遗漏期数");  
//	   
//
//        // 必须在单元格设值以后进行
//	    // 设置为根据内容自动调整列宽    
//        for (int k = 0; k < 11; k++) {
//            sheet.autoSizeColumn(k);
//        }	    
//        //setColumnWidth单位是像素        
////	    sheet.setColumnWidth(1,8);
//
//	   	 //输出Excel文件  
//        //文件路径（路径+文件名）
//	   	File file = new File("E:/lottery/welfare/sort/testpoi/workbook.xls");
//	   	//文件不存在则创建文件，先创建目录
//	    if (!file.exists()) {   
//	        File dir = new File(file.getParent());
//	        dir.mkdirs();
//	        file.createNewFile();
//	    }
//	   	 FileOutputStream output=new FileOutputStream("E:/lottery/welfare/sort/testpoi/workbook.xls");  
//	   	 wb.write(output);  
//	   	 wb.close();
//	   	 output.flush();  
//	   	 
//	 } catch (Exception e) {
//	     e.printStackTrace();
//	     // do something
//	 }
//	}
//	
//	
//	public static void testSumCount() {
//		long startTime=System.currentTimeMillis();
//		int days=0;
//		String sum="10";
//		SqlSession sqlSession = null;
//		List<ThreeD> sumList;
//		try {
//			sqlSession = SqlSessionFactoryUtils.openSqlSession();
//			ArrayThreeMapper arrayThreeMapper = sqlSession.getMapper(ArrayThreeMapper.class);
//			sumList=arrayThreeMapper.querySum(sum);	
//			for(int i=0;i<sumList.size();i++) {
////				if(sumList.get(i).getDaysofdifference() <= 0 ) {
//					if(i==0) {
//						sumList.get(i).setDaysofdifference(0);
//					}else {
//						days=ArrayDatabase.countDays(sumList.get(i-1).getIssue(),sumList.get(i).getIssue());
//						sumList.get(i).setDaysofdifference(days);
//					}
////					arrayThreeMapper.updateDaysofdifference(sumList.get(i).getIssue(),sumList.get(i).getDaysofdifference());
////					System.out.println("sportssportssports88888888888888888888888888888888888888888888888888888888");
//					System.out.println(sumList.get(i).getIssue()+"    "+sumList.get(i).getDaysofdifference());
////				}
//			}
//			sqlSession.commit();//提交数据库操作
//			long endTime=System.currentTimeMillis();
//			log.info("更新和值"+sum+"的遗漏期数执行时间："+(endTime-startTime)+"ms");
//		}catch (Exception e) {
//		     e.printStackTrace();
//		     // do something
//		 } finally {
//		       // do something
//			 if (sqlSession != null) {
//						sqlSession.close();
//					}
//		 }
//		
//	}	
//	
//	
//	/**
//	 ** 修改已存在的Excel
//	 * */
//	public static void modifyXls(String path,String lotteryType){
//		File file=new File("d://temp.xls");  
//		//导入已存在的Excel文件，获得只读的工作薄对象  
//		Workbook wk=Workbook.getWorkbook(file);  
//		//根据只读的工作薄对象（wk）创建可写入的Excel工作薄对象   
//		        WritableWorkbook wwb=Workbook.createWorkbook(file, wk);  
//		//读取第一张工作表   
//		        WritableSheet sheet=wwb.getSheet(0);  
//		//获得要编辑的单元格对象   
//		        WritableCell cell=sheet.getWritableCell(1, 2);  
//		//判断单元格的类型, 做出相应的转化   
//		if(cell.getType()==CellType.LABEL){  
//		            Label lable=(Label)cell;  
//		            //修改单元格的内容  
//		lable.setString("As179");  
//		        }  
//		    wwb.write();   
//		    wwb.close();   
//		    wk.close();   
//		
//	}
//	
//	private HSSFWorkbook readXls(HttpServletRequest request,String fileName) throws IOException{
//		String filePath = request.getSession().getServletContext()
//				.getRealPath("");
//		// filePath=ReportManageController.class.getResource("/").getPath();
//		InputStream inp = null;
//		try {
//			inp = new FileInputStream(filePath + "/" + fileName);
//		} catch (FileNotFoundException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//		HSSFWorkbook workBook=null;
//		if(inp!=null){
//			workBook = new HSSFWorkbook(inp);
//		}
//		return workBook;
//	}
//
//	
//	private void setSheetCellValue(HSSFSheet sheet, int rowIndex, int colIndex,
//			Object value,int cellType) {
//		// HSSFComment conment=sheet.getCellComment(rowIndex, colIndex);
//		HSSFRow row = sheet.getRow(rowIndex);
//		HSSFCell cell = row.getCell(colIndex);
//		cell.setCellType(cellType);
//		switch (cell.getCellType()) {
//		case Cell.CELL_TYPE_STRING:
//			cell.setCellValue(value.toString());
//			break;
//		case Cell.CELL_TYPE_NUMERIC:
//			cell.setCellValue(Integer.parseInt(value.toString()));
//			break;
//		default:
//			cell.setCellValue(value.toString());
//		}
//	}
//	
//	private String encodeFileName(HttpServletRequest request, String fileName)
//			throws UnsupportedEncodingException {
//		String agent = request.getHeader("USER-AGENT");
//		if (null != agent && -1 != agent.indexOf("MSIE")) {
//			return URLEncoder.encode(fileName, "UTF8");
//		} else if (null != agent && -1 != agent.indexOf("Mozilla")) {
//			return "=?UTF-8?B?"+ (new String(Base64.encodeBase64(fileName.getBytes("UTF-8")))) + "?=";
//		} else {
//			return fileName;
//		}
//	}
//	
//	
//	
//	/**
//	 * @Description:
//	 * @param args
//	 */
//	public static void main(String[] args) {
//		// TODO Auto-generated method stub
//		Date date = new Date();
//		SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//		System.out.println(dateFormat.format(date));
//		String outPath ="E:/lottery/welfare/sort/";
////		assort(outPath,"welfare",".txt");
////		assortXls(outPath,"welfare");
//		testSumCount();
////		creat();
//	}
//
//}

//git怎么比较历史版本
